package codeflyer.server.utils;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * @author CodeFlyer
 * @date Apr 25, 2020
 * @version 1.0
 */

public class FileSearch {
	
	private List<String> webappList = new ArrayList<>();  //只存储项目文件夹和jar包
	private List<String> fileList = new ArrayList<String>();   //该文件夹下所有文件路径
	private List<String> folderList = new ArrayList<String>();  //该文件夹下所有文件夹路径
	

	public List<String> getFileList() {
		return fileList;
	}


	public List<String> getFolderList() {
		return folderList;
	}


	public List<String> getWebappList() {
		return webappList;
	}


	//得到webapp下的所有文件路径
	//先得到所有文件夹,但是对应文件夹里还有文件夹的情况怎么办,只能递归
	//在调用一次该方法取得每个子文件的所有文件,前提是要判断一下是否是文件夹
	public void iterateFile(String dir) {	
		File dFile = new File(dir);
			String[] totalFile = dFile.list();
			for (String string : totalFile) {
				String newFile = new StringBuilder().append(dir).append("/").append(string).toString();
				File nFile = new File(newFile);
				if(nFile.isDirectory()) {
					folderList.add(newFile);
					iterateFile(newFile); //只有我是文件夹的时候才递归,不是不递归	
				}else {
					fileList.add(newFile);  //添加文件路径
				}						
			}	
	}
	
	
	public void firstList(String dir) {
		File dFile = new File(dir);
		String[] totalFile = dFile.list();
		for (String string : totalFile) {
			String newFile = new StringBuilder().append(dir).append("/").append(string).toString();
			webappList.add(newFile);
		}
	}

}


